﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using WatiN.Core;
using WatiN.Core.Native;
using WatiN.Core.Logging;
using WatiN.Core.UtilityClasses;
using WatiN.Core.Properties;
using WatiN.Core.Native.Windows;
using WatiN.Core.DialogHandlers;


namespace WatiNSahi
{
    public abstract partial class WatiNSahiTest
    {
        public static bool _assertEqual(string expectedValue, string actualValue)
        {
            bool result = false;
            if(expectedValue.Equals(actualValue))
            {
                result = true;
                _log("ASSERT EQUAL", 
                    string.Format("Assert equals returns true. Expected value : '{0}' is equal to actual value : '{1}'.",
                    expectedValue,actualValue));
            }
            return result;
        }
        public static void _assertNotEqual()
        {

        }
        public static void _assertNotNull()
        {

        }
        public static void _assertNull()
        {

        }
        public static void _assertTrue()
        {

        }

        public static void _assert(bool condition,string message)
        {
            if(condition == true)
            {
                _log("CONDITION PASS", "Condition is satisfied.");
            }
            else
            {
                _log("CONDITION FAIL", "With Message :: " + message);
            }


        }

        public static void _assert(bool condition)
        {
            if (condition == true)
            {
                _log("CONDITION PASS", "Condition is satisfied.");
            }
            else
            {
                _log("CONDITION FAIL", "Condition failed.");
            }


        }

        public static void _assertNotTrue()
        {

        }
        public static void _assertFalse()
        {

        }
        public static bool _assertExists(Element elm)
        {
            if(elm.Exists)
            {
                _log("ASSERT EXISTS", elm.Name + " Element exists.");
                return true;
            }
            else
            {
                _log("ASSERTION FAIL", elm.Name + " Element not found.");
                return false;
            }
        }
        public static void _assertNotExists()
        {

        }
        public static void _assertContainsText()
        {

        }
    }
}
